package com.example.utils;


import com.example.pojo.Menu;

import java.util.ArrayList;
import java.util.List;

public class subMenu {
    /**
     * 递归装载子类
     *
     * @param menu     当前节点
     * @param rootMenu 菜单列表
     * @return
     */
    public static Menu buildChildTree(Menu menu, List<Menu> rootMenu) {
        // 用来存放子节点
        List<Menu> childMenus = new ArrayList<>();
        for (Menu menuNode : rootMenu) {
            // 如果当前节点的id与子节点的Sid相同，就讲其放入到childMenus中
            if (menuNode.getSid() != null && menuNode.getSid().equals(menu.getId())){
                // 递归构建当前节点的子目录
                Menu childMenu = buildChildTree(menuNode, rootMenu);
                childMenus.add(childMenu);
            }
        }
        // 每一个递归完成，给当前节点设置子节点
        menu.setChildMenus(childMenus);
        return menu;
    }
}
